library(tidyverse)
library(PRISMAstatement)
Global urbanization continues unabated, with more than 50% of the worlds’ population living in cities. Cities are conventionally viewed as a threat to local biodiversity because natural habitat is replaced with development. However, more recently, there is greater acknowledgement from the public and private sectors that supporting local environments sustains critical ecosystem services, which in turn improves human health and biodiversity conservation. Consequently, urban planning and design has shifted towards green infrastructure (GI), such as green roofs and retention ponds, to increase connections between city and nature in an era of climate change. The contribution of GI to some ecosystem services has been proven (e.g. stormwater management, building cooling), but the contribution to biodiversity conservation remains unspecified. Using a systematic literature review, this project will (i) determine effect estimates that relate different GI types and characteristics to the impacts on natural systems, and (ii) compile relevant data to develop different implementation scenarios GI for Toronto and region. This study will inform natural system planning and improve quantification of GI on urban ecosystems. Findings from this research will have global ramifications that allow city planners to optimize GI implementation for sustainable development and decrease the impacts of cities on natural systems.
| date | task |
|---|---|
| June 18 | Begin meeting with staff and MacIvor lab to set out workplan |
| June 25 | Begin literature review and data extraction |
| July 2 | Aggregate available data for GI analysis in Toronto |
| July 3 | Complete meetings with TRCA staff on relevant considerations for the project |
| July 9 | Determine important parameters for modelling GI in Toronto |
| August 20 | Complete collection and review of relevant articles |
| September 3 | Conduct meta-analysis on available data |
| September 10 | Propose candidate models for quantifying GI effects for natural systems |
| Sept 24 | Model validation and begin writting manuscript |
| Oct 15 | Complete a draft of manuscript and finalize model |
A systematic literature search will be conducted using Web of Scienc for all articles between 1980 and 2018. This time frame was chosen because it captures the majority of the literature on green infrastructure and with articles that have some measured estimates. The review will include all studies globally. The intended purpose of this search is to capture all articles that have documented both green infrastructure implementation and a measure of natural systems. The search terms that will be used are:
*green infrastructure OR low*impact development OR Sustainable Drainage System* OR Water Sensitive Urban Design OR green*roof AND *diversity OR species OR ecosystem OR ecology OR habitat* OR co-benefit
These terms have returned 871 results (as of June 2018)
search1.1 <- read.csv("data/WOS-lit.csv")
search1.2 <- read.csv("data/WoSPart3-July_4_2018.csv")
net.difference <- anti_join(search1.2, search1.1, by = "DOI")
net.difference <- net.difference %>% select(Title, DOI) #to simplify for a look
nrow(net.difference) #count of number of differences from consecutive search
## [1] 182
## 182 papers to be added by including revised terms
## Select those articles and join with other dataset
net.difference <- anti_join(search1.2, search1.1, by = "DOI")
updated.search <- rbind(search1.1, net.difference)
#write.csv(updated.search, "data/WOS-lit.updated.csv")
Adding revised terms from July 3rd meeting added 182 papers Total articles returned = 1,053 (as of July 2018)
## Adding terms for naturalized pond and pollinator garden
search1.2 <- read.csv("data/WOS-lit.updated.csv")
search1.3 <- read.csv("data/WoSPart4-July_11_2018.csv")
net.difference <- anti_join(search1.3, search1.2, by = "DOI")
net.difference <- net.difference %>% select(Title, DOI) #to simplify for a look
nrow(net.difference) #count of number of differences from consecutive search
## [1] 0
## 213 papers to be added by including revised terms
## Select those articles and join with other dataset
net.difference <- anti_join(search1.3, search1.2, by = "DOI")
updated.search <- rbind(search1.2, net.difference)
#write.csv(updated.search, "data/WOS-lit.updated.csv")
Adding revised terms from July 3rd meeting added 213 papers Total articles returned = 1,224 (as of July 2018)
This steps includes a. checking for duplicating, b. reviewing each instance for relevancy, c. consistently identifying and documenting exclusion criteria. Outcomes include a list of publications to be used for synthesis, a library of pdfs, and a PRISMA report to ensure the worflow is transparent and reproducible. Papers were excluded with the following characteristics:
evidence <- read.csv("data/evidence.csv")
### Identify studies that were excluded
excludes <- evidence %>% group_by(reason) %>% count(exclude) %>% filter(reason!="")
ggplot(excludes, aes(x=reason, y=n)) + geom_bar(stat="identity") + coord_flip()
### Proportion excluded
excludes %>% mutate(percent=n/1140*100) %>% data.frame(.)
## reason exclude n percent
## 1 agriculture n 1 0.0877193
## 2 agriculture y 48 4.2105263
## 3 city or greenspace planning y 100 8.7719298
## 4 civil engineering y 17 1.4912281
## 5 climate adaptation y 27 2.3684211
## 6 conceptual framework y 39 3.4210526
## 7 ecology study n 1 0.0877193
## 8 ecology study y 194 17.0175439
## 9 economics y 31 2.7192982
## 10 energy y 4 0.3508772
## 11 food security/agriculture y 6 0.5263158
## 12 GI technology n 1 0.0877193
## 13 GI technology y 60 5.2631579
## 14 industrial ecology y 18 1.5789474
## 15 modelling conservation y 52 4.5614035
## 16 policy y 59 5.1754386
## 17 regulatory/ecosystem services y 235 20.6140351
## 18 review n 1 0.0877193
## 19 review y 80 7.0175439
## 20 social impacts/human health y 98 8.5964912
## 21 urban ecology/human disturbance y 55 4.8245614
## frequency of study
year.rate <- evidence %>% group_by(Year) %>% summarize(n=length(Year))
ggplot(tail(year.rate,20)) + geom_bar(aes(x=Year, y=n), stat="identity") + ylab("number of published studies") +xlab("year published") +theme(text = element_text(size=16))
## Completed so far
prog <- sum(evidence$exclude!="")
prog
## [1] 1266
## Remaining
total <- nrow(evidence)
total
## [1] 1266
setTxtProgressBar(txtProgressBar(0,total, style = 3), prog)
##
|
| | 0%
|
|=================================================================| 100%
Initial pass for relevant papers complete.
GI.type <- evidence %>% group_by(GI.type) %>% count(exclude) %>% filter(GI.type!="")
ggplot(GI.type, aes(x=GI.type, y=n)) + geom_bar(stat="identity") + coord_flip()
Representations of relevant GI types found in papers
Prisma report
## total number of papers found
nrow(evidence)
## [1] 1266
## number of papers found outside of WoS
other <- read.csv("data/other.sources.csv")
nrow(other)
## [1] 28
## number of articles excluded
excludes <- evidence %>% filter(exclude=="y")
nrow(excludes)
## [1] 1123
## relevant papers
review <- evidence %>% filter(exclude!="y")
nrow(review)
## [1] 143
## papers for meta
meta <- evidence %>% filter(meta.=="yes")
nrow(meta)
## [1] 117
prisma(found = 1276,
found_other = 28,
no_dupes = 1304,
screened = 1304,
screen_exclusions = 0,
full_text = 1304,
full_text_exclusions = 1180,
qualitative = 124,
quantitative = 20,
width = 800, height = 800)
## Loading required namespace: DiagrammeR
The research questions we are exploring:
require(ggmap)
### Start with base map of world
mp <- NULL
mapWorld <- borders("world", colour="gray50", fill="gray50") # create a layer of borders
mp <- ggplot() + mapWorld
## colorblind-friendly palette
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7","#000000")
meta <- read.csv("data//evidence.csv")
meta <- subset(meta, GI.type!="")
## plot points on top
mp <- mp+ geom_point(data=meta , aes(x=lon, y=lat, color=GI.type), size=2) + scale_colour_manual(values=cbPalette)+
theme(legend.position="bottom", text = element_text(size=20))
mp
## Number of studies extracted from online data
occurdat<-list.files("data//MS.data",pattern=".csv$",full=T)
length(occurdat)
## [1] 78
## 70 Studies found with usable data for synthesis
meta <- read.csv("data//Master.GI.Datasets.csv")
freq.GI <- meta %>% filter(Infrastructure!="grey" & Habitat!="Natural") %>% group_by(GI.type, Taxa.simplified) %>% summarize(n=length(unique(Study))) %>% data.frame(.)
table.GI <- freq.GI %>% spread(Taxa.simplified, n, fill=0)
#write.csv(table.GI, "Table.GI.csv")
## load master datasets
meta <- read.csv("data//Master.GI.Datasets.csv")
## Omit repo 3 because duplicated with study 1305 and remove repo-9 because not equivalent GI comparisons. Removed Repo 3 because compare roof with ground
meta <- meta %>% filter(Study != "repo.3" & Study!="repo.9" & Study!="repo.1")
## Drop relative abundance because difference = 0
meta <- meta %>% filter(Estimate!="Relative.Abundance")
## Load packages and functions
library(reshape2)
library(metafor)
source("meta.eval.r") ## Multiple aggregate
## Create Unique identifier column
meta2 <- meta
meta2[,"UniqueSite"] <- paste(meta2$Study, meta2$Taxa.simplified, meta2$GI.compare, meta$Estimate, sep="-")
meta3 <- meta2 %>% filter(Infrastructure != "natural") %>% filter()
## Use function to extract summary statistics for comparisons
## meta.eval arguments are (meta.data, compare, ids , stats)
Infra.compare <- meta.eval(meta3, Infrastructure, UniqueSite, Stat )
## Combine the lists into same dataframe
## Rename Columns in second dataframe
Infra.stat <- Infra.compare[[2]] ## extracted statistics
names(Infra.stat) <- c("UniqueSite","green_mean","green_sd","grey_mean","grey_sd","green_n","grey_n") ## rename columns to match
Infra.raw <- Infra.compare[[1]] ## calculated statistics from raw values
## Join two dataframes
meta.stat <- rbind(Infra.raw, Infra.stat[, names(Infra.raw)])
meta.ready <- escalc(n1i = grey_n, n2i = green_n, m1i = grey_mean, m2i = green_mean, sd1i = grey_sd, sd2i = green_sd, data = meta.stat, measure = "SMD", append = TRUE)
## separate out the identifiers
siteID <- matrix(unlist(strsplit(meta.ready$UniqueSite,"-")),ncol=4, byrow=TRUE)
siteID <- data.frame(siteID) ## recreate as dataframe
colnames(siteID) <- c("Study","taxa","GI.compare","measure") ## add column names
meta.ready <- cbind(data.frame(meta.ready), siteID)
#random-effects meta-analysis for green infrastructure vs grey
m1 <- rma(yi=yi, vi=vi, data = meta.ready)
summary(m1)
##
## Random-Effects Model (k = 14; tau^2 estimator: REML)
##
## logLik deviance AIC BIC AICc
## -20.5203 41.0405 45.0405 46.1704 46.2405
##
## tau^2 (estimated amount of total heterogeneity): 1.0014 (SE = 0.4687)
## tau (square root of estimated tau^2 value): 1.0007
## I^2 (total heterogeneity / total variability): 89.59%
## H^2 (total variability / sampling variability): 9.60
##
## Test for Heterogeneity:
## Q(df = 13) = 85.6492, p-val < .0001
##
## Model Results:
##
## estimate se zval pval ci.lb ci.ub
## -1.1615 0.2929 -3.9650 <.0001 -1.7357 -0.5874 ***
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#mixed-effects meta-analysis for green infrastructure vs grey
m2 <- rma(yi=yi, vi=vi, mods=~GI.compare-1, data = meta.ready)
summary(m2)
##
## Mixed-Effects Model (k = 14; tau^2 estimator: REML)
##
## logLik deviance AIC BIC AICc
## -13.8336 27.6673 39.6673 40.8506 81.6673
##
## tau^2 (estimated amount of residual heterogeneity): 0.8848 (SE = 0.5147)
## tau (square root of estimated tau^2 value): 0.9407
## I^2 (residual heterogeneity / unaccounted variability): 84.77%
## H^2 (unaccounted variability / sampling variability): 6.56
##
## Test for Residual Heterogeneity:
## QE(df = 9) = 39.6901, p-val < .0001
##
## Test of Moderators (coefficient(s) 1:5):
## QM(df = 5) = 22.9955, p-val = 0.0003
##
## Model Results:
##
## estimate se zval pval
## GI.comparepublic/community gardens -0.1442 0.9515 -0.1516 0.8795
## GI.compareretention pond -1.4397 0.6984 -2.0613 0.0393
## GI.compareroadsides -3.5728 1.1849 -3.0153 0.0026
## GI.compareroof -1.1249 0.4093 -2.7486 0.0060
## GI.comparewall -0.8200 0.5690 -1.4411 0.1496
## ci.lb ci.ub
## GI.comparepublic/community gardens -2.0091 1.7206
## GI.compareretention pond -2.8087 -0.0708 *
## GI.compareroadsides -5.8951 -1.2504 **
## GI.compareroof -1.9271 -0.3228 **
## GI.comparewall -1.9352 0.2952
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Produce a forest plot to determine the effect sizes for each study
forest(m1, slab = meta.stat$UniqueSite)
## Check for publication bias
## The symetrical distriubtion suggests there is no publication bias
funnel(m1)
## Calculate rosenthals Failsafe number
fsn(yi, vi, data=meta.ready)
##
## Fail-safe N Calculation Using the Rosenthal Approach
##
## Observed Significance Level: <.0001
## Target Significance Level: 0.05
##
## Fail-safe N: 522
### plot Forest plot with each subgroup
res.w <- rma(yi=yi, vi=vi, data = meta.ready,
subset=(GI.compare=="wall"))
res.r <- rma(yi=yi, vi=vi, data = meta.ready,
subset=(GI.compare=="roof"))
res.p <- rma(yi=yi, vi=vi, data = meta.ready,
subset=(GI.compare=="retention pond"))
res.rd <- rma(yi=yi, vi=vi, data = meta.ready,
subset=(GI.compare=="roadsides"))
# ## generate plot with spaces inbetween
# forest(m1, atransf=exp, cex=0.75, ylim=c(-1, 24),
# order=order(meta.ready$GI.compare,meta.ready$taxa), rows=c(3:4,7,10:16,19:21),
# # mlab="RE model for all studies", psize=1, slab= paste(meta.ready$Study, meta.ready$taxa, meta.ready$measure))
#
# addpoly(res.w, row=18, cex=0.75, atransf=exp, mlab="RE model for green wall")
# addpoly(res.r, row= 9, cex=0.75, atransf=exp, mlab="RE model for green roof")
# addpoly(res.rd, row= 6, cex=0.75, atransf=exp, mlab="RE model for roadsides")
# addpoly(res.p, row= 2, cex=0.75, atransf=exp, mlab="RE model for retention ponds")
## Create Unique identifier column
meta2 <- meta
meta2[,"UniqueSite"] <- paste(meta2$Study, meta2$Taxa.simplified, meta2$Nat.compare, meta2$Estimate, sep="-")
## Remove comparisons except urban and rural
meta2 <- meta2 %>% filter(Habitat == "urban" | Habitat == "natural") %>% filter (Nat.compare != "park") %>% filter(Study != 1156)
## Determine the number of comparisons available
compare.eval(meta2, Habitat, UniqueSite)
## [1] 20
## Use function to extract summary statistics for comparisons
## meta.eval arguments are (meta.data, compare, ids , stats)
nat.compare <- meta.eval(meta2, Habitat, UniqueSite, Stat )
## Combine the lists into same dataframe
## Rename Columns in second dataframe
nat.stat <- nat.compare[[2]] ## extracted statistics
names(nat.stat) <- c("UniqueSite","natural_mean","natural_sd","urban_mean","urban_sd","natural_n","urban_n") ## rename columns to match
nat.raw <- nat.compare[[1]] ## calculated statistics from raw values
## Join two dataframes
meta.stat <- rbind(nat.raw, nat.stat[, names(nat.raw)])
meta.ready <- escalc(n1i = urban_n, n2i = natural_n, m1i = urban_mean, m2i = natural_mean, sd1i = urban_sd, sd2i = natural_sd, data = meta.stat, measure = "SMD", append = TRUE)
## separate out the identifiers
siteID <- matrix(unlist(strsplit(meta.ready$UniqueSite,"-")),ncol=4, byrow=TRUE)
siteID <- data.frame(siteID) ## recreate as dataframe
colnames(siteID) <- c("Study","taxa","GI.type","measure") ## add column names
meta.ready <- cbind(data.frame(meta.ready), siteID)
#random-effects meta-analysis for urban GI vs natural
m1 <- rma(yi, vi, data = meta.ready)
summary(m1)
##
## Random-Effects Model (k = 20; tau^2 estimator: REML)
##
## logLik deviance AIC BIC AICc
## -15.6201 31.2401 35.2401 37.1290 35.9901
##
## tau^2 (estimated amount of total heterogeneity): 0.1093 (SE = 0.0646)
## tau (square root of estimated tau^2 value): 0.3305
## I^2 (total heterogeneity / total variability): 61.67%
## H^2 (total variability / sampling variability): 2.61
##
## Test for Heterogeneity:
## Q(df = 19) = 50.6457, p-val = 0.0001
##
## Model Results:
##
## estimate se zval pval ci.lb ci.ub
## -0.0746 0.1037 -0.7192 0.4720 -0.2778 0.1286
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Natural vs Urban GI
## Produce a forest plot to determine the effect sizes for each study
forest(m1, slab = meta.stat$UniqueSite, order=order(meta.ready$GI.type,meta.ready$taxa))
## Check for publication bias
## The symetrical distriubtion suggests there is no publication bias
funnel(m1)
#mixed-effects meta-analysis for green infrastructure vs grey
m2 <- rma(yi=yi, vi=vi, mods=~GI.type-1, data = meta.ready)
summary(m2)
##
## Mixed-Effects Model (k = 20; tau^2 estimator: REML)
##
## logLik deviance AIC BIC AICc
## -9.3213 18.6425 32.6425 37.1159 51.3092
##
## tau^2 (estimated amount of residual heterogeneity): 0.0937 (SE = 0.0692)
## tau (square root of estimated tau^2 value): 0.3062
## I^2 (residual heterogeneity / unaccounted variability): 56.10%
## H^2 (unaccounted variability / sampling variability): 2.28
##
## Test for Residual Heterogeneity:
## QE(df = 14) = 35.2094, p-val = 0.0014
##
## Test of Moderators (coefficient(s) 1:6):
## QM(df = 6) = 10.7382, p-val = 0.0968
##
## Model Results:
##
## estimate se zval pval
## GI.typegreen roof vs. grassland -0.2744 0.2108 -1.3018 0.1930
## GI.typepond 0.1140 0.2500 0.4561 0.6483
## GI.typeroadsides vs forest 0.0731 0.2343 0.3121 0.7550
## GI.typeurban garden vs. forest -0.3060 0.1665 -1.8381 0.0660
## GI.typeurban garden vs. meadow 1.5676 0.8546 1.8344 0.0666
## GI.typewetland vs. bioswale 0.5084 0.3600 1.4122 0.1579
## ci.lb ci.ub
## GI.typegreen roof vs. grassland -0.6875 0.1387
## GI.typepond -0.3760 0.6041
## GI.typeroadsides vs forest -0.3861 0.5323
## GI.typeurban garden vs. forest -0.6323 0.0203 .
## GI.typeurban garden vs. meadow -0.1073 3.2425 .
## GI.typewetland vs. bioswale -0.1972 1.2140
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Calculate rosenthals Failsafe number
fsn(yi, vi, data=meta.ready)
##
## Fail-safe N Calculation Using the Rosenthal Approach
##
## Observed Significance Level: 0.1559
## Target Significance Level: 0.05
##
## Fail-safe N: 0
## The area of green infrastructure
names(meta)[20:21] <- c("GI.area","height")
meta.area <- subset(meta, GI.area>0)
## omit Study 536 & 1304 because raw counts
meta.area <- subset(meta.area, Study != 536 & Study != 1304)
## Determine unique identifier
meta.area[,"UniqueSite"] <- paste(meta.area$Study, meta.area$Taxa.simplified, meta.area$Nat.compare, meta.area$Estimate, sep="-")
## Summarize average richness by area sizes
area.stat <- meta.area %>% filter(Stat=="count" | Stat=="mean") %>% filter(Estimate=="richness") %>% group_by(Study, GI.area, GI.type) %>% summarize(val=mean(Value)) %>% data.frame(.)
area.rich <- area.stat %>% filter(GI.type=="green roof" | GI.type=="green wall" | GI.type=="yards/home gardens" | GI.type=="public/community gardens")
library(ggplot2)
## Species richness per area
ggplot(area.rich, aes(x=GI.area, y=val, color=GI.type) ) + geom_point(size=3) + theme_bw() + scale_color_brewer(palette="Set2") + ylab("Average species richness") + xlab(expression("Average area of green infrastructure (m"^2*")"))+theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) + stat_smooth(method="lm", formula= y~poly(x,2),aes(x=GI.area, y=val), color="#181818", fill="#80808080", data=area.rich)
m1 <- lm(val~poly(GI.area,2), data=area.rich)
summary(m1)
##
## Call:
## lm(formula = val ~ poly(GI.area, 2), data = area.rich)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.3192 -0.8696 -0.0566 1.0480 7.7911
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.8601 0.1859 26.141 < 2e-16 ***
## poly(GI.area, 2)1 9.9386 1.7929 5.543 2.94e-07 ***
## poly(GI.area, 2)2 -7.1637 1.7929 -3.996 0.000132 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.793 on 90 degrees of freedom
## Multiple R-squared: 0.3416, Adjusted R-squared: 0.3269
## F-statistic: 23.35 on 2 and 90 DF, p-value: 6.802e-09
## Summarize average abundance by area sizes
area.stat <- meta.area %>% filter(Stat=="count" | Stat=="mean") %>% filter(Estimate=="abundance") %>% group_by(Study, GI.area, GI.type) %>% summarize(val=mean(Value)) %>% data.frame(.)
area.abd <- area.stat %>% filter(GI.type=="green roof" | GI.type=="green wall" | GI.type=="yards/home gardens" | GI.type=="public/community gardens") %>%
filter(GI.area<50000) %>% ## keep numbers approximately similar - removed outlier of 200,000
filter(Study != 1299 & Study != 1127)
## Species richness per area
ggplot(area.abd, aes(x=GI.area, y=val, color=GI.type) ) + geom_point(size=3) + theme_bw() + scale_color_brewer(palette="Set2") + ylab("Average abundance of species") + xlab(expression("Average area of green infrastructure (m"^2*")"))+theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
m2 <- lm(val~GI.area, data=area.abd)
summary(m2)
##
## Call:
## lm(formula = val ~ GI.area, data = area.abd)
##
## Residuals:
## Min 1Q Median 3Q Max
## -27.825 -21.094 1.306 10.658 82.693
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 27.8430165 2.3709545 11.743 <2e-16 ***
## GI.area -0.0002494 0.0009327 -0.267 0.79
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 21.85 on 119 degrees of freedom
## Multiple R-squared: 0.0006004, Adjusted R-squared: -0.007798
## F-statistic: 0.07149 on 1 and 119 DF, p-value: 0.7896
## Compare pH for abundance
ph.data <- meta %>% filter(pH>0) %>% filter(GI.type=="retention pond" | GI.type=="natural water")
ph.abd <- ph.data %>% filter(Estimate=="abundance" & Stat=="count")%>% group_by(pH, GI.type) %>% summarize(val=mean(Value)) %>% data.frame(.)
## plot richness against pH
ggplot(ph.abd, aes(x=pH, y=val, color=GI.type) ) + geom_point(size=3) + theme_bw() + scale_color_brewer(palette="Set2") + ylab("Average Richness") + xlab("Average pH of Green Infrastructure")+theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
## Compare pH for occurrence
ph.occ <- ph.data %>% filter(Estimate=="occurrence")%>% group_by(pH, GI.type) %>% summarize(val=mean(Value)) %>% data.frame(.)
m1 <- glm(Value~ pH, family=binomial, data=ph.data %>% filter(Estimate=="occurrence"))
summary(m1)
##
## Call:
## glm(formula = Value ~ pH, family = binomial, data = ph.data %>%
## filter(Estimate == "occurrence"))
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.8915 -0.8488 -0.8377 1.5229 1.6131
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.22413 1.45261 -0.154 0.877
## pH -0.08643 0.20324 -0.425 0.671
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 308.55 on 251 degrees of freedom
## Residual deviance: 308.37 on 250 degrees of freedom
## AIC: 312.37
##
## Number of Fisher Scoring iterations: 4
## plot richness against pH
ggplot(ph.occ, aes(x=pH, y=val, color=GI.type) ) + geom_point(size=3) + theme_bw() + scale_color_brewer(palette="Set2") + ylab("Average Occurrence") + xlab("Average pH of Green Infrastructure")+theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
## plot richness against height
h.rich <- meta %>% filter(height>0) %>% filter(Estimate=="richness") %>% filter(Stat=="count" | Stat=="mean") %>% group_by(height, GI.type) %>% summarize(val=mean(Value)) %>% data.frame(.)
ggplot(h.rich, aes(x=height, y=val, color=GI.type) ) + geom_point(size=3) + theme_bw() + scale_color_brewer(palette="Set2") + ylab("Average Richness") + xlab("Average Height of Green Infrastructure")+theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
## plot abundance against height
h.abd <- meta %>% filter(height>0) %>% filter(Estimate=="abundance") %>% filter(Stat=="count" | Stat=="mean") %>% group_by(height, GI.type) %>% summarize(val=mean(Value)) %>% data.frame(.)
ggplot(h.abd, aes(x=height, y=val, color=GI.type) ) + geom_point(size=3) + theme_bw() + scale_color_brewer(palette="Set2") + ylab("Average Abundance") + xlab("Average Height of Green Infrastructure")+theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
## Pond salinity
salt <- subset(meta, Salinity>0)
length(unique(salt$Salinity)) ## not enough samples for a meaningful comparison
## [1] 4
## Pond depth
deep <- subset(meta, depth..m.>0)
length(unique(deep$depth..m.)) ## not enough samples for a meaningful comparison
## [1] 4
gf.data <- read.csv("data//GI.data//GreenRoofGeocoded.csv")
garden.data <- read.csv("data//GI.data//ComGardensdata.csv")
pond.data <- read.csv("data//GI.data//RetentionPondsGPS.csv")
## Extract coordinates only for GI
gf.data <- gf.data[,c("lon","lat")]
garden.data <- garden.data[,c("lon","lat")]
pond.data <- pond.data[,c("lon","lat")]
## combine into single dataset
GI.data <- rbind(gf.data,garden.data, pond.data)
## add column for data type
GI.data[,"GI.type"] <- c(rep("Green Roof",nrow(gf.data)),rep("Community Garden",nrow(garden.data)),rep("Retention Pond", nrow(pond.data)))
## interactive map
library(leaflet)
## Warning: package 'leaflet' was built under R version 3.5.1
m <- leaflet(data=GI.data) %>%
addTiles() %>%
addCircleMarkers(~lon, ~lat, color = ifelse(GI.data$GI.type == "Retention Pond", 'blue', 'red'), radius=5)
m
meta <- read.csv("data//Master.GI.Datasets.csv")
spp.n <- meta %>% group_by(Genus) %>% summarize(n=length(Species)) %>% arrange(-n) %>% data.frame()
spp.n
## Genus n
## 1 18277
## 2 Columba 2338
## 3 Passer 1843
## 4 Turdus 1001
## 5 Vanessa 699
## 6 Andrena 696
## 7 Bombus 555
## 8 Pieris 515
## 9 Lasioglossum 440
## 10 Mimus 367
## 11 Trifolium 351
## 12 Sturnidae 344
## 13 Prunella 331
## 14 Corvus 310
## 15 Sturnus 257
## 16 bromus 232
## 17 polygonum 232
## 18 Hylaeus 205
## 19 Rana 202
## 20 Nomada 199
## 21 Megachile 192
## 22 Cracticus 189
## 23 Cupido 180
## 24 Locustella 177
## 25 Osmia 165
## 26 Parus 164
## 27 Chaetura 158
## 28 Halictus 157
## 29 Anthochaera 139
## 30 unknown 139
## 31 Cyanistes 138
## 32 Larus 138
## 33 Sedum 132
## 34 Epipactis 130
## 35 Senecio 126
## 36 Asteraceae 124
## 37 Cheilosia 120
## 38 Veronica 117
## 39 bidens 116
## 40 Harpalus 116
## 41 ipomoea 116
## 42 melilotus 116
## 43 Mirini 116
## 44 plantago 116
## 45 poa 116
## 46 potentilla 116
## 47 solidago 116
## 48 symphyotrichum 116
## 49 trifolium 116
## 50 ulmus 116
## 51 Ranunculus 115
## 52 Acer 113
## 53 Chloris 111
## 54 Prunus 111
## 55 Sonchus 111
## 56 Mutusca 110
## 57 Trichoglossus 109
## 58 Nysius 107
## 59 Bellis 106
## 60 Sphecodes 105
## 61 Chaetedus 101
## 62 Solanum 101
## 63 Manorina 100
## 64 Geranium 99
## 65 Rosa 96
## 66 Schinus 90
## 67 Spilopelia 90
## 68 Pica 89
## 69 Amara 83
## 70 Grallina 83
## 71 Acridotheres 80
## 72 Bufo 79
## 73 Tanacetum 78
## 74 Euphorbia 77
## 75 Oxalis 76
## 76 Vicia 76
## 77 Primula 74
## 78 Sorbus 74
## 79 Eupeodes 73
## 80 Poa 73
## 81 Eristalis 72
## 82 Platycherius 72
## 83 Remaudiereana 72
## 84 Hypericum 70
## 85 Stellaria 69
## 86 Cirsium 68
## 87 Juncus 68
## 88 Viola 68
## 89 Cardamine 67
## 90 Aglais 66
## 91 Taraxacum 65
## 92 Lomandra 64
## 93 Platycercus 64
## 94 Coelioxys 63
## 95 Lamium 63
## 96 Goodenia 62
## 97 Plantago 62
## 98 Dianthus 61
## 99 Galium 60
## 100 Longitarsus 60
## 101 Medicago 60
## 102 Nabis 60
## 103 Ocyphaps 60
## 104 Stenophyella 60
## 105 acalypha 58
## 106 acer 58
## 107 ageratina 58
## 108 ailanthus 58
## 109 alliaria 58
## 110 Allium 58
## 111 amaranthus 58
## 112 ambrosia 58
## 113 arctium 58
## 114 artemisia 58
## 115 asclepias 58
## 116 calystegia 58
## 117 capsella 58
## 118 catalpa 58
## 119 celastrus 58
## 120 celtis 58
## 121 chamaesyce 58
## 122 chenopodium 58
## 123 cichorium 58
## 124 cirsium 58
## 125 clematis 58
## 126 commelina 58
## 127 convolvulus 58
## 128 conyza 58
## 129 cynodon 58
## 130 cyperus 58
## 131 dactylis 58
## 132 daucus 58
## 133 digitaria 58
## 134 duchesnea 58
## 135 echinochloa 58
## 136 elymus 58
## 137 erigeron 58
## 138 euonymus 58
## 139 festuca 58
## 140 galinsoga 58
## 141 glechoma 58
## 142 hedera 58
## 143 hypochaeris 58
## 144 juglans 58
## 145 juncus 58
## 146 lactuca 58
## 147 lepidium 58
## 148 lolium 58
## 149 lonicera 58
## 150 lotus 58
## 151 medicago 58
## 152 microstegium 58
## 153 morus 58
## 154 oxalis 58
## 155 parthenocissus 58
## 156 paulownia 58
## 157 phytolacca 58
## 158 platanus 58
## 159 quercus 58
## 160 rosa 58
## 161 rubus 58
## 162 rumex 58
## 163 securigera 58
## 164 senecio 58
## 165 setaria 58
## 166 sisymbrium 58
## 167 sonchus 58
## 168 taraxacum 58
## 169 toxicodendron 58
## 170 veronica 58
## 171 vicia 58
## 172 viola 58
## 173 vitis 58
## 174 Wahlenbergia 58
## 175 Bursaria 57
## 176 Eucalyptus 57
## 177 Raphanus 56
## 178 Anagallis 55
## 179 Polygonum 55
## 180 Hirundo 54
## 181 Pararge 53
## 182 Apis 52
## 183 Rosmarinus 52
## 184 Calystegia 51
## 185 Ligustrum 51
## 186 Rubus 51
## 187 Salvia 51
## 188 Spiraea 51
## 189 Convolvulus 50
## 190 Pelargonium 50
## 191 Sitona 50
## 192 Acacia 49
## 193 Lavandula 49
## 194 Stachys 49
## 195 Syrphus 49
## 196 Dasysyrphus 48
## 197 Galenia 48
## 198 Helophilus 48
## 199 Malva 48
## 200 Melanostoma 48
## 201 plant 48
## 202 Potentilla 48
## 203 Sidnia 48
## 204 Volucella 48
## 205 Xylota 48
## 206 Cardinalis 47
## 207 Epilobium 47
## 208 Festuca 47
## 209 Capsella 46
## 210 Myoporum 46
## 211 Canna 45
## 212 Colletes 45
## 213 Mentha 45
## 214 Ocirrhoe 45
## 215 Sylvia 45
## 216 Conyza 44
## 217 Lapsana 44
## 218 Glossopsitta 43
## 219 Anthidium 42
## 220 Chelostoma 42
## 221 Glechoma 42
## 222 Hyla 42
## 223 Limanarium 42
## 224 Melitta 42
## 225 Santolina 42
## 226 Cerastium 41
## 227 Cuspicona 41
## 228 Lissotriton 41
## 229 Melaleuca 41
## 230 Achillea 40
## 231 Olearia 40
## 232 Spinus 40
## 233 Buddleja 39
## 234 Carex 39
## 235 Cacatua 38
## 236 Plectranthus 38
## 237 Zenaida 38
## 238 Begonia 37
## 239 Iris 37
## 240 Lolium 37
## 241 Agapanthus 36
## 242 Cotoneaster 36
## 243 Leucophaeus 36
## 244 Nepeta 36
## 245 Orthotylinae 36
## 246 Picris 36
## 247 Pseudacris 36
## 248 Silene 36
## 249 Halticus 35
## 250 Rumex 35
## 251 Anthophora 34
## 252 Bombycilla 34
## 253 Dactylis 34
## 254 Fraxinus 34
## 255 Pardalotus 34
## 256 Petunia 34
## 257 Ajuga 33
## 258 Atriplex 33
## 259 Lysimachia 33
## 260 Melissodes 33
## 261 Tagetes 33
## 262 Viburnum 33
## 263 Aquilegia 32
## 264 Campanula 32
## 265 Dietes 32
## 266 Ficinia 32
## 267 Gahnia 32
## 268 Gaura 32
## 269 Haemorhous 32
## 270 Lotus 32
## 271 Papaver 32
## 272 Salix 32
## 273 Fringilla 31
## 274 Hieracium 31
## 275 Atheta 30
## 276 Centaurea 30
## 277 Lathyrus 30
## 278 Lonicera 30
## 279 Melospiza 30
## 280 Myosotis 30
## 281 Phylinae 30
## 282 Thymus 30
## 283 Aesculus 29
## 284 Argyranthemum 29
## 285 Chenopodium 29
## 286 Crepis 29
## 287 Eolophus 29
## 288 Heriades 29
## 289 Leucanthemum 29
## 290 Pentatomidae 29
## 291 Crataegus 28
## 292 Hosta 28
## 293 Lychnis 28
## 294 Ageratum 27
## 295 Alyssum 27
## 296 Anemone 27
## 297 Anthriscus 27
## 298 Chelidonium 27
## 299 Cornus 27
## 300 Digitalis 27
## 301 Lilium 27
## 302 Ribes 27
## 303 Syringa 27
## 304 Tilia 27
## 305 Urtica 27
## 306 Alliaria 26
## 307 Anisodactylus 26
## 308 Berberis 26
## 309 Ceratostigma 26
## 310 Chinoneides 26
## 311 Malus 26
## 312 Muscari 26
## 313 Rhododendron 26
## 314 Symphytum 26
## 315 Trachelospermum 26
## 316 Acanthiza 25
## 317 Duchesnea 25
## 318 Erysimum 25
## 319 Fuchsia 25
## 320 Hedera 25
## 321 Helichrysum 25
## 322 Hypera 25
## 323 Iberis 25
## 324 Ilex 25
## 325 Laburnum 25
## 326 Leontodon 25
## 327 Magnolia 25
## 328 Narcissus 25
## 329 Philonthus 25
## 330 Pulmonaria 25
## 331 Quedius 25
## 332 Solidago 25
## 333 Tachyporus 25
## 334 Tripleurospermum 25
## 335 Agrostis 24
## 336 Alchemilla 24
## 337 Aubretia 24
## 338 Baccha 24
## 339 Calendula 24
## 340 Chalcosyrphus 24
## 341 Cheilosa 24
## 342 Choisya 24
## 343 Chrysogaster 24
## 344 Circaea 24
## 345 Claytonia 24
## 346 Colpodes 24
## 347 Crompus 24
## 348 Deraeocorini 24
## 349 Dictyotus 24
## 350 Dicyphini 24
## 351 Dilompus 24
## 352 Epistrophe 24
## 353 Episyrphus 24
## 354 Erica 24
## 355 Eumerus 24
## 356 Eupolemus 24
## 357 Ferdinandea 24
## 358 Hebe 24
## 359 Heringia 24
## 360 Hyacinthoides 24
## 361 Inula 24
## 362 Itea 24
## 363 Large 24
## 364 Liriodendron 24
## 365 Matricaria 24
## 366 Meconopsis 24
## 367 Melangyna 24
## 368 Melanogaster 24
## 369 Meliscaeva 24
## 370 Merodon 24
## 371 Myathropa 24
## 372 Neoascia 24
## 373 Nigella 24
## 374 Orchis 24
## 375 Oxycarenus 24
## 376 Pansy 24
## 377 Parasyrphus 24
## 378 Phygelius 24
## 379 Pilosella 24
## 380 Platycheirus 24
## 381 Plinthisus 24
## 382 Polyommatus 24
## 383 Portevinia 24
## 384 Pseudofumaria 24
## 385 Rhinanthus 24
## 386 Rhingia 24
## 387 Rhipidura 24
## 388 Riponnensia 24
## 389 Sambucas 24
## 390 Scaeva 24
## 391 Small 24
## 392 Sphaerophoria 24
## 393 Syritta 24
## 394 Tingis 24
## 395 Ulex 24
## 396 Vanellus 24
## 397 Violet 24
## 398 Weigelia 24
## 399 Xanthogramma 24
## 400 Yellow 24
## 401 Bembidion 23
## 402 Galinsoga 23
## 403 Pinus 23
## 404 Artemisia 22
## 405 Baptisia 22
## 406 Correa 22
## 407 Hypochaeris 22
## 408 Orius 22
## 409 Verbena 22
## 410 Xerochrysum 22
## 411 Celtis 21
## 412 Lythrum 21
## 413 Aleochara 20
## 414 Anas 20
## 415 Eysarcoris 20
## 416 Mcateella 20
## 417 Phyllotreta 20
## 418 Protapion 20
## 419 Amorbus 19
## 420 Clematis 19
## 421 Falco 19
## 422 Nebria 19
## 423 Stephanitis 19
## 424 Amaranthus 18
## 425 Baclozygum 18
## 426 Coridromius 18
## 427 Emesinae 18
## 428 Lagerstraemia 18
## 429 Megachilie 18
## 430 Phaps 18
## 431 Ptilotula 18
## 432 Brentiscerus 17
## 433 Erythrina 17
## 434 Grevillea 17
## 435 Robinia 17
## 436 Abelia 16
## 437 Brachyscome 16
## 438 Dindymus 16
## 439 Ozothamnus 16
## 440 Parietaria 16
## 441 Pheropsophus 16
## 442 Sericornis 16
## 443 Synuchus 16
## 444 Agriotes 15
## 445 Atomaria 15
## 446 Cermatulus 15
## 447 Cryptocephalus 15
## 448 Cymodema 15
## 449 Froggattia 15
## 450 Gabrius 15
## 451 Gminatus 15
## 452 Mictis 15
## 453 Nerium 15
## 454 Platystethus 15
## 455 Sambucus 15
## 456 Stenus 15
## 457 Tychius 15
## 458 Ceratina 14
## 459 Certhia 14
## 460 Corvidae 14
## 461 Lamiaceae 14
## 462 Lepidium 14
## 463 Pterostichus 14
## 464 Rudbeckia 14
## 465 Ulmus 14
## 466 Lactuca 13
## 467 Malurus 13
## 468 Unknown 13
## 469 Agapostemon 12
## 470 Angiozanthos 12
## 471 Anischys 12
## 472 Bauhinia 12
## 473 Buchananiella 12
## 474 Cletus 12
## 475 Coranus 12
## 476 Creontiades 12
## 477 Cryptorhamphus 12
## 478 Dianella 12
## 479 Dicrotelus 12
## 480 Dieuches 12
## 481 Diplocysta 12
## 482 Echium 12
## 483 Eribotes 12
## 484 Eritingis 12
## 485 Euander 12
## 486 Eucera 12
## 487 Eurynysius 12
## 488 Gelonus 12
## 489 Germalus 12
## 490 Geum 12
## 491 Hesperiidae 12
## 492 Hydrangea 12
## 493 Koscocrompus 12
## 494 Lasioglossum 12
## 495 Lethaeini 12
## 496 Malandiola 12
## 497 Melanacanthus 12
## 498 Melia 12
## 499 Nezara 12
## 500 Notius 12
## 501 Oechalia 12
## 502 Oncocoris 12
## 503 Ontiscus 12
## 504 Penstemon 12
## 505 Pipistrellus 12
## 506 Portulaca 12
## 507 Pseudacris 12
## 508 Stelis 12
## 509 Stizocephalus 12
## 510 Stylogeocoris 12
## 511 Symphyotrichum 12
## 512 Thaumastocoris 12
## 513 Ulonemia 12
## 514 Zanessa 12
## 515 Agonum 11
## 516 Ailanthus 11
## 517 Asclepias 11
## 518 Betula 11
## 519 Ceratonia 11
## 520 Colias 11
## 521 Delonix 11
## 522 Deschampsia 11
## 523 Eupatorium 11
## 524 Eurema 11
## 525 Hordeum 11
## 526 Kickxia 11
## 527 Oedemera 11
## 528 Olea 11
## 529 Ophonus 11
## 530 Phylloscopus 11
## 531 Syntomus 11
## 532 Tamarix 11
## 533 Thuja 11
## 534 Agathis 10
## 535 Amischa 10
## 536 Amphimallon 10
## 537 Asiorestia 10
## 538 Bignoniaceae 10
## 539 Bledius 10
## 540 Brachychiton 10
## 541 Brachypera 10
## 542 Bradycellus 10
## 543 Calathus 10
## 544 Carpelimus 10
## 545 Cedrus 10
## 546 Ceutorhynchus 10
## 547 Chaetocnema 10
## 548 Chlorophytum 10
## 549 Corticarina 10
## 550 Cortinicara 10
## 551 Cyanapion 10
## 552 Danthonia 10
## 553 Diabolia 10
## 554 Dichanthelium 10
## 555 Elaphropus 10
## 556 Epuraea 10
## 557 Galeruca 10
## 558 Hakea 10
## 559 Harpephyllum 10
## 560 Hemitrichapion 10
## 561 Ionactis 10
## 562 Lagunaria 10
## 563 Lespedeza 10
## 564 Margarinotus 10
## 565 Melanophthalma 10
## 566 Monotoma 10
## 567 Morus 10
## 568 Musa 10
## 569 Ocypus 10
## 570 Onthophagus 10
## 571 Othius 10
## 572 Panicum 10
## 573 Platanus 10
## 574 Platydracus 10
## 575 Polygonia 10
## 576 Pseudoophonus 10
## 577 Psylliodes 10
## 578 Pycnanthemum 10
## 579 Schizachyrium 10
## 580 Scopaeus 10
## 581 Searsia 10
## 582 Sophora 10
## 583 Sorghastrum 10
## 584 Tasgius 10
## 585 Trema 10
## 586 Xantholinus 10
## 587 Bromus 9
## 588 Melecta 9
## 589 Mercurialis 9
## 590 Monarda 9
## 591 Mycelis 9
## 592 Psephotus 9
## 593 Angelonia 8
## 594 Anthropodium 8
## 595 Arctium 8
## 596 Augochlorella 8
## 597 Bougainvillea 8
## 598 Brachinus 8
## 599 Chlaenius 8
## 600 Clivia 8
## 601 Craspedia 8
## 602 Daucus 8
## 603 Dolichus 8
## 604 Fallopia 8
## 605 Foeniculum 8
## 606 Haplochlaenius 8
## 607 Lecanora 8
## 608 Lesticus 8
## 609 Megachile 8
## 610 Persicaria 8
## 611 Phyla 8
## 612 Pomaderris 8
## 613 Verbascum 8
## 614 Xylocopa 8
## 615 Accipiter 7
## 616 Badister 7
## 617 Caloplaca 7
## 618 Colluricincla 7
## 619 Coracina 7
## 620 Digitaria 7
## 621 Erigeron 7
## 622 Hylaeus 7
## 623 Phylidonyris 7
## 624 Poecilus 7
## 625 Rorippa 7
## 626 Sisymbrium 7
## 627 Amorpha 6
## 628 Augochlora 6
## 629 Ballota 6
## 630 Chrysoceohalum 6
## 631 Dalea 6
## 632 Echinochloa 6
## 633 Elytrigia 6
## 634 Hoplitis 6
## 635 Kalanchoe 6
## 636 Linaria 6
## 637 Liriope 6
## 638 Lithobates 6
## 639 Loricera 6
## 640 Melanocanthus 6
## 641 Molothrus 6
## 642 Pachycephala 6
## 643 Pimelea 6
## 644 Podargus 6
## 645 Sagina 6
## 646 Serinus 6
## 647 Sherardia 6
## 648 Sinapis 6
## 649 Strelitzia 6
## 650 Tingidae 6
## 651 Zizia 6
## 652 Ablattaria 5
## 653 Acrotona 5
## 654 Acupalpus 5
## 655 Agrypnus 5
## 656 Alcea 5
## 657 Aloconota 5
## 658 Altica 5
## 659 Amarochara 5
## 660 Anacaena 5
## 661 Anaspis 5
## 662 Anotylus 5
## 663 Anthicus 5
## 664 Anthrenus 5
## 665 Anthribus 5
## 666 Aphodius 5
## 667 Arenaria 5
## 668 Arpedium 5
## 669 Arthrolips 5
## 670 Astenus 5
## 671 Bacidina 5
## 672 Baris 5
## 673 Bitoma 5
## 674 Bombus 5
## 675 Brachythecium 5
## 676 Brassica 5
## 677 Bruchus 5
## 678 Byrrhus 5
## 679 Cantharis 5
## 680 Carduelis 5
## 681 Cartodere 5
## 682 Cassida 5
## 683 Ceratapion 5
## 684 Cercyon 5
## 685 Chrysolina 5
## 686 Cidnopus 5
## 687 Cis 5
## 688 Clanoptilus 5
## 689 Coccinella 5
## 690 Corticaria 5
## 691 Corymbia 5
## 692 Cryptophagus 5
## 693 Cryptopleurum 5
## 694 Cteniopus 5
## 695 Curtimorda 5
## 696 Cyanocitta 5
## 697 Cynegetis 5
## 698 Cytilus 5
## 699 Dinaraea 5
## 700 Dolichosoma 5
## 701 Dorcus 5
## 702 Dryops 5
## 703 Enicmus 5
## 704 Ennearthron 5
## 705 Ephistemus 5
## 706 Erigone 5
## 707 Eucinetus 5
## 708 Eutrichapion 5
## 709 Fragaria 5
## 710 Gastrophysa 5
## 711 Gauropterus 5
## 712 Gymnetron 5
## 713 Gyrohypnus 5
## 714 Halyzia 5
## 715 Harmonia 5
## 716 Helophorus 5
## 717 Hibiscus 5
## 718 Hippodamia 5
## 719 Hirschfeldia 5
## 720 Hirticomus 5
## 721 Hispa 5
## 722 Hister 5
## 723 Holcus 5
## 724 Holotrichapion 5
## 725 Hoplia 5
## 726 Impatiens 5
## 727 Ischnopterapion 5
## 728 Ischnosoma 5
## 729 Lionychus 5
## 730 Lithocharis 5
## 731 Mecinus 5
## 732 Megasternum 5
## 733 Melissodes 5
## 734 Metopsia 5
## 735 Microlestes 5
## 736 Mycetoporus 5
## 737 Necrophorus 5
## 738 Neobisnius 5
## 739 Ocyusa 5
## 740 Olibrus 5
## 741 Omalium 5
## 742 Omonadus 5
## 743 Orchestes 5
## 744 Origanum 5
## 745 Otiorhynchus 5
## 746 Oulema 5
## 747 Oxyomus 5
## 748 Oxypoda 5
## 749 Oxystoma 5
## 750 Parocyusa 5
## 751 Parophonus 5
## 752 Peponapis 5
## 753 Physalis 5
## 754 Pityogenes 5
## 755 Plathyrinus 5
## 756 Platynaspis 5
## 757 Propylea 5
## 758 Proteinus 5
## 759 Psammodius 5
## 760 Psyllobora 5
## 761 Rabigus 5
## 762 Rhinusa 5
## 763 Rhyzobius 5
## 764 Saponaria 5
## 765 Sepedophilus 5
## 766 Sibinia 5
## 767 Simplocaria 5
## 768 Stegobium 5
## 769 Stelidota 5
## 770 Stenocarus 5
## 771 Stenolophus 5
## 772 Stenopterapion 5
## 773 Teretriorhynchites 5
## 774 Thanatophilus 5
## 775 Timarcha 5
## 776 Tinotus 5
## 777 Trechus 5
## 778 Trichopterapion 5
## 779 Trichosirocalus 5
## 780 Triepeolus 5
## 781 Tritoma 5
## 782 Tytthaspis 5
## 783 Valgus 5
## 784 Variimorda 5
## 785 Xyleborus 5
## 786 Zacladus 5
## 787 Zoosetha 5
## 788 Zorochros 5
## 789 Acanthus 4
## 790 Archilochus 4
## 791 Brachychitron 4
## 792 Brachypodium 4
## 793 Caligavis 4
## 794 Cassinia 4
## 795 Cisticola 4
## 796 Cistus 4
## 797 Coleonema 4
## 798 Dumetella 4
## 799 Eopsaltria 4
## 800 Equisetum 4
## 801 Erodium 4
## 802 Helianthus 4
## 803 Limanium 4
## 804 Melissa 4
## 805 Nandina 4
## 806 Notiophilus 4
## 807 Nyctalus 4
## 808 Oenothera 4
## 809 Pelagonium 4
## 810 Soleirolia 4
## 811 Torilis 4
## 812 Tussilago 4
## 813 Verrucaria 4
## 814 Walckenaeria 4
## 815 Acanthorhynchus 3
## 816 Aegithalos 3
## 817 Aegopodium 3
## 818 Andrena 3
## 819 Antirrhinum 3
## 820 Astilbe 3
## 821 Barbarea 3
## 822 Borago 3
## 823 Calibrachoa 3
## 824 Candelariella 3
## 825 Carpinus 3
## 826 Casuarina 3
## 827 Centaurium 3
## 828 Cichorium 3
## 829 Cladonia 3
## 830 Cleome 3
## 831 Colleies 3
## 832 Coreopsis 3
## 833 Corydalis 3
## 834 Cosmos 3
## 835 Cucurbita 3
## 836 Dacelo 3
## 837 Dahlia 3
## 838 Diplocephalus 3
## 839 Diplotaxis 3
## 840 Dryopteris 3
## 841 Echinacea 3
## 842 Ficus 3
## 843 Gladiolus 3
## 844 Halictus 3
## 845 Hemerocallis 3
## 846 Herniaria 3
## 847 Heuchera 3
## 848 Isodontia 3
## 849 Kniphofia 3
## 850 Lantana 3
## 851 Lasius 3
## 852 Liatris 3
## 853 Linum 3
## 854 Lobelia 3
## 855 Luzula 3
## 856 Melilotus 3
## 857 Neochmia 3
## 858 Ocimum 3
## 859 Oedothorax 3
## 860 Papilio 3
## 861 Perovskia 3
## 862 Phlox 3
## 863 Pseudopanurgus 3
## 864 Quercus 3
## 865 Reseda 3
## 866 Rondeletia 3
## 867 Schistidium 3
## 868 Setaria 3
## 869 Setophaga 3
## 870 Spergularia 3
## 871 Strepera 3
## 872 Svastra 3
## 873 Taxus 3
## 874 Tenuiphantes 3
## 875 Tradescantia 3
## 876 Trapelia 3
## 877 Troglodytes 3
## 878 Vespula 3
## 879 Vinca 3
## 880 Weigela 3
## 881 Xanthoria 3
## 882 Zinnia 3
## 883 Agapostemon 2
## 884 Agastache 2
## 885 Amegilla 2
## 886 Anethum 2
## 887 Angophora 2
## 888 Anthidium 2
## 889 Arabidopsis 2
## 890 Araucaria 2
## 891 Artocarpus 2
## 892 Asplenium 2
## 893 Baeolophus 2
## 894 Bathyphantes 2
## 895 Bidens 2
## 896 Bryum 2
## 897 Calliopsis 2
## 898 Capsicum 2
## 899 Carpobrotus 2
## 900 Celastrina 2
## 901 Celosia 2
## 902 Centromerus 2
## 903 Ceratina 2
## 904 chinensis 2
## 905 Cinnamomum 2
## 906 Clubiona 2
## 907 Commelina 2
## 908 Coriandrum 2
## 909 Corylus 2
## 910 Cotula 2
## 911 Cucumis 2
## 912 Cyclamen 2
## 913 Cymbalaria 2
## 914 Datura 2
## 915 Dendrocopos 2
## 916 Dodecatheon 2
## 917 Enoplognatha 2
## 918 Epacris 2
## 919 Epeolus 2
## 920 Eragrostis 2
## 921 Eriobotrya 2
## 922 Falcol 2
## 923 Gagea 2
## 924 Galanthus 2
## 925 Galenis 2
## 926 Galeopsis 2
## 927 Hahnia 2
## 928 Heleborus 2
## 929 Hippolais 2
## 930 Holcopasites 2
## 931 Hoya 2
## 932 Humulus 2
## 933 Hylotelephium 2
## 934 Hypnum 2
## 935 Ichthyosaura 2
## 936 Icterus 2
## 937 Ipomoea 2
## 938 Jacaranda 2
## 939 Jasminum 2
## 940 Lablab 2
## 941 Lecania 2
## 942 Lecidella 2
## 943 Lepraria 2
## 944 Linyphia 2
## 945 Lipotriches 2
## 946 Lophostemon 2
## 947 Macropis 2
## 948 maxima 2
## 949 Megalurus 2
## 950 Meioneta 2
## 951 Melica 2
## 952 Melithreptus 2
## 953 Nemastoma 2
## 954 Nesoptilotis 2
## 955 Observed 2
## 956 Orthotrichum 2
## 957 Ozyptila 2
## 958 Parthenocissus 2
## 959 Pelophylax 2
## 960 Petrochelidon 2
## 961 Petroselinum 2
## 962 Phaeophyscia 2
## 963 Philanthus 2
## 964 Phoenicurus 2
## 965 Phoenix 2
## 966 Physcia 2
## 967 Phytolacca 2
## 968 Placynthiella 2
## 969 Platycodon 2
## 970 Plumbago 2
## 971 Populus 2
## 972 Porrhomma 2
## 973 Prionyx 2
## 974 Ratibida 2
## 975 regia 2
## 976 Salamandra 2
## 977 Sanguisorba 2
## 978 Saxifraga 2
## 979 Scabiosa 2
## 980 Scrophularia 2
## 981 Securigera 2
## 982 Sempervivum 2
## 983 Sorbaria 2
## 984 Sphex 2
## 985 Spirea 2
## 986 Spizella 2
## 987 Steatoda 2
## 988 Stokesia 2
## 989 Sutera 2
## 990 Syzygium 2
## 991 Tegenaria 2
## 992 Torenia 2
## 993 Tortula 2
## 994 Tragopogon 2
## 995 Triodanis 2
## 996 Triturus 2
## 997 Unidentified 2
## 998 variegata 2
## 999 Veronicastrum 2
## 1000 Vittadinia 2
## 1001 Westringia 2
## 1002 Zantedeschia 2
## 1003 Iphiclides 1
## 1004 Acarospo 1
## 1005 Aconitum 1
## 1006 Aethusa 1
## 1007 Afranthidium 1
## 1008 Ageratina 1
## 1009 Agrimonia 1
## 1010 Agroeca 1
## 1011 alba 1
## 1012 Aleurites 1
## 1013 alexandrae 1
## 1014 Alisma 1
## 1015 Aloxyria 1
## 1016 Amandinea 1
## 1017 Amblystegium 1
## 1018 Ambrosia 1
## 1019 Amelanchier 1
## 1020 americana 1
## 1021 Anchomenus 1
## 1022 Ancistrocerus 1
## 1023 Annona 1
## 1024 Anthophora 1
## 1025 Anyphaena 1
## 1026 Apera 1
## 1027 Apis 1
## 1028 Apocynum 1
## 1029 Araeoncus 1
## 1030 Archontophoenix 1
## 1031 Arrhenatherum 1
## 1032 Asaphidion 1
## 1033 Asparagus 1
## 1034 Asperula 1
## 1035 Aspicilia 1
## 1036 Aster 1
## 1037 Augochlora 1
## 1038 Avena 1
## 1039 azedarach 1
## 1040 babylonica 1
## 1041 Ballus 1
## 1042 Barbula 1
## 1043 Bembix 1
## 1044 benjamina 1
## 1045 Berteroa 1
## 1046 Bischofia 1
## 1047 Bombax 1
## 1048 Bryoerythrophyllum 1
## 1049 Bryonia 1
## 1050 Buellia 1
## 1051 burmanii* 1
## 1052 Buteo 1
## 1053 Buxus 1
## 1054 cajuputi ssp. Cumingiana 1
## 1055 Calamagrostis 1
## 1056 Calamintha 1
## 1057 Callistemon 1
## 1058 Calophasia 1
## 1059 campanulata 1
## 1060 camphora* 1
## 1061 Carabus 1
## 1062 Caragana 1
## 1063 Carduus 1
## 1064 Carica 1
## 1065 Caryota 1
## 1066 catappa 1
## 1067 ceiba 1
## 1068 Ceratinella 1
## 1069 Ceratodon 1
## 1070 Cerceris 1
## 1071 Chaenorhinum 1
## 1072 Chaenorrhinum 1
## 1073 Chaerophyllum 1
## 1074 Chalybion 1
## 1075 Chelone 1
## 1076 Chionodoxa 1
## 1077 Chondrilla 1
## 1078 Cicurina 1
## 1079 Cinn. 1
## 1080 Citrus 1
## 1081 Clausena 1
## 1082 Clauzadea 1
## 1083 Clivina 1
## 1084 Coccothraustes 1
## 1085 Cocos 1
## 1086 Coelioxys 1
## 1087 Coenogonium 1
## 1088 Coleus 1
## 1089 confusa 1
## 1090 Conium 1
## 1091 Convallaria 1
## 1092 Corynephorus 1
## 1093 Crabroninae 1
## 1094 Crateva 1
## 1095 Crocosmia 1
## 1096 Crocus 1
## 1097 Crossocerus 1
## 1098 cumini 1
## 1099 cunninghamiana 1
## 1100 cunninghamii 1
## 1101 Cupressus 1
## 1102 Cycas 1
## 1103 Cynodon 1
## 1104 Cystopteris 1
## 1105 Delphinium 1
## 1106 denudata 1
## 1107 Descurainia 1
## 1108 Desmodium 1
## 1109 Dicentra 1
## 1110 Didymodon 1
## 1111 Diervilla 1
## 1112 Dimocarpus 1
## 1113 Diplostyla 1
## 1114 Dipsacus 1
## 1115 Doellingeria 1
## 1116 Dolichovespula 1
## 1117 Draba 1
## 1118 Dracontomelon 1
## 1119 duperreanum 1
## 1120 Dypsis 1
## 1121 Dyschirius 1
## 1122 Dysdera 1
## 1123 Echinocystis 1
## 1124 Echinops 1
## 1125 Ectemnius 1
## 1126 Elaeagnus 1
## 1127 Elaeocarpus 1
## 1128 Elaphrus 1
## 1129 elastica 1
## 1130 elliottii 1
## 1131 Elymus 1
## 1132 Empidonax 1
## 1133 Entelecara 1
## 1134 Episinus 1
## 1135 equisetifolia 1
## 1136 Eranthis 1
## 1137 Eratigena 1
## 1138 Erigonella 1
## 1139 Ero 1
## 1140 Eryngium 1
## 1141 Estimated 1
## 1142 Eumenes 1
## 1143 Euodynerus 1
## 1144 Euonymus 1
## 1145 Euophrys 1
## 1146 Eurhynchium 1
## 1147 Euryopis 1
## 1148 Eutrochium 1
## 1149 Exoneura 1
## 1150 Fagus 1
## 1151 Ficaria 1
## 1152 Filago 1
## 1153 Floronia 1
## 1154 funebris 1
## 1155 Gaillardia 1
## 1156 Garrulus 1
## 1157 glutinosa* 1
## 1158 Glyptostrobus 1
## 1159 Gnathonarium 1
## 1160 Gomphrena 1
## 1161 Gonatium 1
## 1162 Gongylidium 1
## 1163 Gorytes 1
## 1164 granatum 1
## 1165 grandiflora 1
## 1166 Graphium 1
## 1167 Grimmia 1
## 1168 guajava 1
## 1169 Gypsophila 1
## 1170 hainanensis 1
## 1171 Haplodrassus 1
## 1172 Harpactea 1
## 1173 Helenium 1
## 1174 Heliopsis 1
## 1175 heptaphylla* 1
## 1176 Heracleum 1
## 1177 heterophylla 1
## 1178 heterophyllum* 1
## 1179 heterophyllus 1
## 1180 Homalictus 1
## 1181 Homalothecium 1
## 1182 Hyacinthus 1
## 1183 Hyperphyscia 1
## 1184 Hypocenomyce 1
## 1185 Hypogymnia 1
## 1186 Hyssopus 1
## 1187 indica 1
## 1188 jambos 1
## 1189 japonica 1
## 1190 javanica* 1
## 1191 Juniperus 1
## 1192 Knautia 1
## 1193 lansium 1
## 1194 Lavatera 1
## 1195 Lecidea 1
## 1196 Leimonis 1
## 1197 Leistus 1
## 1198 Lepthyphantes 1
## 1199 Lestica 1
## 1200 Licinus 1
## 1201 Ligularia 1
## 1202 Liocranum 1
## 1203 Litchi 1
## 1204 Litsea 1
## 1205 longan 1
## 1206 lutescens 1
## 1207 Lycopus 1
## 1208 Macaranga 1
## 1209 macrophyllus* 1
## 1210 madagascariensis 1
## 1211 Mahonia 1
## 1212 Mangifera 1
## 1213 mangium 1
## 1214 Manilkara 1
## 1215 massoniana* 1
## 1216 Matteuccia 1
## 1217 Michelia 1
## 1218 Micrargus 1
## 1219 microcarpa* 1
## 1220 Microneta 1
## 1221 Milleriana 1
## 1222 Mniotilta 1
## 1223 Moehringia 1
## 1224 moluccana 1
## 1225 Monobia 1
## 1226 Motacilla 1
## 1227 Muscicapa 1
## 1228 Myrmecina 1
## 1229 Neottiura 1
## 1230 Neriene 1
## 1231 Nicotiana 1
## 1232 nitidus ssp. lingnanensis 1
## 1233 nucifera 1
## 1234 Odiellus 1
## 1235 Odontites 1
## 1236 oleander 1
## 1237 Ononis 1
## 1238 Ornithogalum 1
## 1239 Osmia 1
## 1240 Oxybelus 1
## 1241 Palliduphantes 1
## 1242 papaya 1
## 1243 Pardosa 1
## 1244 Parmelia 1
## 1245 Passaloecus 1
## 1246 Pastinaca 1
## 1247 Paulownia 1
## 1248 Pelecopsis 1
## 1249 Pemphredon 1
## 1250 pensilis 1
## 1251 Peponapis 1
## 1252 Persea 1
## 1253 Petrorhagia 1
## 1254 Phaseolus 1
## 1255 Phedimus 1
## 1256 Philadelphus 1
## 1257 Phleum 1
## 1258 Phlyctis 1
## 1259 Pholcus 1
## 1260 Phrurolithus 1
## 1261 Physostegia 1
## 1262 Picea 1
## 1263 Picus 1
## 1264 Pimpinella 1
## 1265 pinnata* 1
## 1266 Pipilo 1
## 1267 Pittosporum 1
## 1268 Plagiomnium 1
## 1269 Plumeria 1
## 1270 Podocarpus 1
## 1271 Polistes 1
## 1272 Polycarpon 1
## 1273 Polygonatum 1
## 1274 Polyscias 1
## 1275 Polytrichum 1
## 1276 Ponera 1
## 1277 Pongamia 1
## 1278 Porina 1
## 1279 Porpidia 1
## 1280 Prinerigone 1
## 1281 Psenulus 1
## 1282 Pseudevernia 1
## 1283 Pseudotsuga 1
## 1284 Psidium 1
## 1285 Psilolechia 1
## 1286 Pterospermum 1
## 1287 Pulsatilla 1
## 1288 Punica 1
## 1289 Pyracantha 1
## 1290 Ramalina 1
## 1291 Ravenala 1
## 1292 revoluta 1
## 1293 Reynoutria 1
## 1294 Rhynchostegium 1
## 1295 Rilaena 1
## 1296 Robertus 1
## 1297 robusta 1
## 1298 roebelenii 1
## 1299 romanzoffiana 1
## 1300 Roystonea 1
## 1301 rubra 1
## 1302 Sarcogyne 1
## 1303 Satureja 1
## 1304 Satyrinae 1
## 1305 Scaevola 1
## 1306 Sceliphron 1
## 1307 Schefflera 1
## 1308 Scilla 1
## 1309 Scolia 1
## 1310 Scoliciosporum 1
## 1311 Scolopax 1
## 1312 Scorzoneroides 1
## 1313 Segestria 1
## 1314 Senna 1
## 1315 sinensis* 1
## 1316 Sitta 1
## 1317 sp. 1
## 1318 Spathodea 1
## 1319 Sphecius 1
## 1320 squamosa 1
## 1321 Stemonyphantes 1
## 1322 Stereocaulon 1
## 1323 Stipa 1
## 1324 surattensis 1
## 1325 Syagrus 1
## 1326 Symmorphus 1
## 1327 Symphoricarpos 1
## 1328 Syncarpia 1
## 1329 Tachytes 1
## 1330 tanarius var. tomentosa 1
## 1331 Terminalia 1
## 1332 Tetragonula 1
## 1333 Thalictrum 1
## 1334 Thyreus 1
## 1335 Toxomerus 1
## 1336 tripinnata 1
## 1337 Trochosa 1
## 1338 Trogulus 1
## 1339 Tropaeolum 1
## 1340 Troxochrus 1
## 1341 Trypoxylon 1
## 1342 Tsuga 1
## 1343 Tulipa 1
## 1344 unilocularis 1
## 1345 Valeriana 1
## 1346 Vezdaea 1
## 1347 viminalis 1
## 1348 Vitex 1
## 1349 Vulpia 1
## 1350 Vulpicida 1
## 1351 Xylocopa 1
## 1352 Xysticus 1
## 1353 Yulania 1
## 1354 zapota 1
## 1355 Zodarion 1
## 1356 Zora 1
spp.nbird <- meta %>% filter(Taxa.simplified!="birds") %>% group_by(Genus) %>% summarize(n=length(Species)) %>% arrange(-n) %>% data.frame() %>% head()
spp.nbird
## Genus n
## 1 17209
## 2 Vanessa 699
## 3 Andrena 696
## 4 Bombus 555
## 5 Pieris 515
## 6 Lasioglossum 440
## Appendix Figures
meta <- read.csv("data//Master.GI.Datasets.csv")
## Omit repo 3 because duplicated with study 1305 and remove repo-9 because not equivalent GI comparisons. Removed Repo 3 because compare roof with ground
meta <- meta %>% filter(Study != "repo.3" & Study!="repo.9" & Study!="repo.1")
## Drop relative abundance because difference = 0
meta <- meta %>% filter(Estimate!="Relative.Abundance")
## pH
ph.count <- subset(meta, pH>0 & Genus != "")
ggplot(ph.count) + geom_density(aes(pH, fill=Genus), position="stack") + xlab("pH of retention pond") + ylab("frequency of occurrence")+theme_set(theme_bw(base_size = 22))+theme_bw()
se <- function(x) {sd(x)/sqrt(length(x))}
## Depth
depth <- subset(meta, depth..m.>0 )
depth <- depth %>% group_by(depth..m.) %>% summarize(avg=mean(Value), error=se(Value))
ggplot(depth, aes(x=depth..m., y=avg)) + geom_point( size=4) + geom_errorbar(data=depth, aes(ymin=avg-error, ymax=avg+error), width=0.03)+ xlab("depth of retention pond (m)") + ylab("average number of individuals observed")+theme_set(theme_bw(base_size = 22))+theme_bw()
## Height
high <- subset(meta, GI.height..m.>0 & Stat=="mean")
high <- filter(high, Estimate %in% c("abundance","richness"))
high <- high %>% group_by(GI.height..m.,Estimate) %>% summarize(Value=mean(Value))
ggplot(high) + geom_point(aes(x=GI.height..m., y=Value)) + facet_grid(~Estimate)+ xlab("height of green roof (m)") + ylab("average number observed")+theme_set(theme_bw(base_size = 22))+theme_bw()